什么是作用域?作用域的类型?什么是作用域链?
什么是作用域
Javascript 中的作用域说的是变量的可访问性和可见性。也就是说整个程序中哪些部分可以访问这个变量,或者说这个变量都在哪些地方可见。
作用域的类型
Javascript 中有三种作用域:
- 全局作用域
- 函数作用域
- 块级作用域
什么是作用域链
在函数中使用一个变量时,首先从当前作用域下查找变量,如果不存在,则继续从上级作用链查找,直到全局作用域;如果一直找不到,则会报错
var a = 2
function fn() {
var a = 1
function fn2() {
console.log(a)
}
fn2()
}
fn()
//打印出:1
var a = 2
function fn() {
var a = 1
fn2()
}
function fn2() {
console.log(a)
}
fn()
//打印出:2